Design and Implementation of Gnarly, a Hybrid-Typed Programming Language
نویسندگان
چکیده
Numerous approaches to the problem of determining the correctness of computer programs have been proposed and implemented, such as dynamic and static type checking. Static typing enables earlier error checking and more e cient execution in many programs, while dynamic type systems allow for greater expressiveness and exibility. This paper presents a type system, hybrid typing, and a programming language utilizing it, Gnarly, that negotiate the space between static and dynamic typing by allowing the programmer to select which typing paradigm he or she wishes to use at the level of individual terms rather than entire languages. Furthermore, any program in Gnarly that is entirely static is provably type safe, and therefore is inherently more trustworthy than it would be otherwise. This results in a very robust language, capable of expressing a wider range of possible programs than any static language, but still retaining a far stronger degree of reliability and security than is available in most dynamically-typed languages.
منابع مشابه
تصحیح خودکار غلط های تایپی فارسی به کمک شبکه عصبی مصنوعی ترکیبی
Automatic correction of typos in the typed texts is one of the goals of research in artificial intelligence, data mining and natural language processing. Most of the existing methods are based on searching in dictionaries and determining the similarity of the dictionary entries and the given word. This paper presents the design, implementation, and evaluation of a Farsi typo correction system u...
متن کاملA Tour of Hybrid 1
Hybrid is a strongly-typed, concurrent, object-oriented programming language in which objects are active entities. In this paper we provide an overview of the language constructs, paying particular attention to the mechanisms for programming concurrent applications, and we describe our experiences in developing a prototype implementation of the language and its run-time environment.
متن کاملAn Implementation of Hybrid A Concurrent, Object-Oriented Language∗
This paper is a report on a prototype implementation of Hybrid, a strongly-typed, concurrent, object-oriented language. The implementation we describe features a compile-time system for translating Hybrid object type definitions into C, a run-time system for supporting communication, concurrency and object persistence, and a type manager that mediates between the two.
متن کاملIdris, a general-purpose dependently typed programming language: Design and implementation
Many components of a dependently-typed programming language are by now well understood, for example the underlying type theory, type checking, unification and evaluation. How to combine these components into a realistic and usable high-level language is, however, folklore, discovered anew by successive language implementators. In this paper, I describe the implementation of IDRIS, a new depende...
متن کاملSimply Easy! An Implementation of a Dependently Typed Lambda Calculus
We present an implementation in Haskell of a dependently-typed lambda calculus that can be used as the core of a programming language. We show that a dependently-typed lambda calculus is no more difficult to implement than other typed lambda calculi. In fact, our implementation is almost as easy as an implementation of the simply typed lambda calculus, which we emphasize by discussing the modif...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010